home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 11 / Mac Magazin and MacEasy Magazine CD - Issue 11.iso / Sharewarebibliothek / Utilities / MenuBarSlide folder / MenuBarSlide.txt < prev   
Text File  |  1995-03-23  |  4KB  |  88 lines

  1.  
  2.   This is an idea of mine for improving the Macintosh user 
  3.   interface.With the current MultiFinder, switching applications 
  4.   is easy to do by accident and doesn’t always cause a noticeable 
  5.   change in the screen display. I suggest that the application 
  6.   menu bar ought to "slide off" the screen whenever it is 
  7.   suspended, and have written an INIT that does this.
  8.   
  9. BACKGROUND
  10.  
  11.   The inspiration came from running introduction to Macintosh 
  12.   courses here at the university. I noticed a lot of students 
  13.   had trouble with application switching. They would click on 
  14.   the wrong window and not notice the change of application, 
  15.   or select the wrong application menu choice and end up in an 
  16.   application with no windows open. The visual cues, a tiny icon 
  17.   changing in the top right corner and a window activation, are a 
  18.   bit too subtle for new users - especially if the application
  19.   doesn't have any windows to activate.
  20.  
  21.   Afterwards I thought about it occasionally until one day I 
  22.   remembered Andy Hertzfelds Switcher. (For you youngsters out 
  23.   there, this was the predecessor to MultiFinder. Each 
  24.   application took over the whole screen. When you switched, all 
  25.   the windows, palettes, and whatnot scrolled off one edge and 
  26.   the new application came in from the other like a HyperCard 
  27.   effect.) Even though we now expect applications to share the 
  28.   screen real estate, the menu bar is still exclusive so why not 
  29.   scroll it to show the change?
  30.   
  31.   Hence this INIT. When installed, the menubar slides across the
  32.   screen everytime you switch from the Finder to an application,
  33.   or from one application to another. The process adds a very
  34.   slight delay to the switch, less than ten ticks. It leaves the
  35.   help and application menus where they are, since it is meant
  36.   to convey that the application environment is changing, not
  37.   the whole system.
  38.   
  39.   If you want a demonstration without installing and rebooting,
  40.   run the MenuBarSlide Demo application. It slides its own menu
  41.   bar when suspended.
  42.  
  43. HOW IT WORKS
  44.  
  45.   The INIT puts a patch on DrawMenuBar that looks for a change to
  46.   the low memory global MenuList, and slides the old menu bar off
  47.   before drawing the new.
  48.   
  49.   Intercepting suspend events sent to applications would have been
  50.   the easiest and cleanest solution, but unfortunately it just
  51.   doesn't work. GNEFilter procs don't get called for OS events.
  52.   
  53.   Known problems: 
  54.   
  55.   * It can't detect a switch from an application to the Finder
  56.   so the menu bar doesn't slide when you do so.I spent a lot of
  57.   time trying to figure out how to detect that, but never found
  58.   a reliable solution. Any ideas?
  59.   
  60.   * HyperCard does its own menu bar drawing, so the menu bar
  61.   doesn't slide.
  62.   
  63.   The source code is also freely distributable. The INIT is
  64.   written in MPW Assembler, the demo app in THINK Pascal 4.
  65.   Mail me if you would like a copy.
  66.  
  67. CREDITS
  68.  
  69.   Thanks to Matthew Axsom (chewey@nesw.MV.COM) for code to find
  70.   out where the right edge of the application menus really is,
  71.   Brian Stern (Jaeger@fquest.com) for the INIT Writing FAQ, and
  72.   the many people who took the trouble to try out the original
  73.   demo and encouraged me to develop it further.
  74.   
  75.   
  76.       Hugh Fisher
  77.     Australian National University
  78.     
  79.     Email: Hugh.Fisher@anu.edu.au
  80.     
  81.     
  82.   Copyright (c) Hugh Fisher 1995. Permission granted to freely
  83.   distribute as you wish. This code is guaranteed to be of
  84.   standard commercial quality: I'll try to fix any problems you
  85.   find, but it's not MY fault even if your computer explodes.
  86.  
  87.  
  88.